package com.tanhua.dubbo.api.mongo;

import com.tanhua.domain.db.Questionnaire;
import com.tanhua.domain.mongo.Report;
import com.tanhua.domain.mongo.ReportUser;
import com.tanhua.domain.vo.QuestionnaireVo;
import org.bson.types.ObjectId;

import java.util.List;

/**
 * @author HoshizoraL
 * @Date 2021/4/20 11:16
 */
public interface SoulTestApi {
    /**
     * 存入用户和报告表
     * @param ru
     */
    void saveReportUser(ReportUser ru);

    /**
     * 获取报告id相同的userId集合，根据创建时间排序获取i个用户
     * @param id
     * @param i
     * @return
     */
    List<ReportUser> findUsers(String id, int i);

    /**
     * 根据报告Id查询报告
     * @param id
     * @return
     */
    Report getReportById(String id);

    /**
     * 根据题目Id获取问卷id
     * @param questionId
     * @return
     */
    Long getTest(String questionId);

    /**
     * 根据分数和测试Id获取报告Id
     * @param score
     * @param testId
     * @return
     */
    Report getReportId(int score, Long testId);


    void updateLock(Long userId, Long testId);

    int getLock(Long userId);


    List<QuestionnaireVo> findTests();
}
